SWIVEL · DESIGN SYSTEM · 01

Colors & Tokens.

Brand palette, semantic states, graphite + slate scales, surfaces, spacing, radius, and the 4px / 12-column grid.

01

Colors & Tokens

Foundational palette, spacing, and surface system
BRAND COLORS
BG
#D6FEFF
BASE
#A8F8FF
CONTRAST
#0097A7
BG
#1F4A4E
BASE
#A8F8FF
CONTRAST
#00E5FF
SWITCH
color/switch
BG
#6B7170
BASE
#131514
CONTRAST
#000000
BG
#B8BAB9
BASE
#F2F3F2
CONTRAST
#131514
GRAPHITE
color/graphite
BG
#DCE8F5
BASE
#637D9C
CONTRAST
#1A2D42
BG
#1E3048
BASE
#7B9BBF
CONTRAST
#A8C5E8
SLATE
color/slate
BG
#FFFFFF
BASE
#F5F5F5
CONTRAST
#9E9E9E
BG
#E0E0E0
BASE
#CACBCA
CONTRAST
#BDBDBD
WHITE
color/white
SEMANTIC COLORS
LIGHT
#C8E6C9
BASE
#2E7D32
CONTRAST
#0A3D0C
BG
#1B3A1C
BASE
#43A047
CONTRAST
#B9F6CA
SUCCESS
color/success
LIGHT
#FFE0B2
BASE
#D96600
CONTRAST
#7A3300
BG
#3E2000
BASE
#FF8F00
CONTRAST
#FFD54F
WARNING
color/warning · text #9A4800
LIGHT
#BBDEFB
BASE
#1976D2
CONTRAST
#0A2A6E
BG
#12294D
BASE
#1E88E5
CONTRAST
#90CAF9
INFO
color/info
LIGHT
#FFCDD2
BASE
#D32F2F
CONTRAST
#5C0000
BG
#3B0000
BASE
#E53935
CONTRAST
#FF8A80
ERROR
color/error
GRAPHITE SCALE · 10 (lightest) → 90 (base)
SLATE SCALE · 10 (lightest) → 100 (base) → 150 (deepest)
SURFACE HIERARCHY
LIGHT MODE
CANVAS
surface/canvas · #F5F5F5
BASE
surface/base · #FFFFFF
INPUT
surface/input · #FFFFFF
MUTED
surface/muted · graphite/10
BORDER
surface/stroke · graphite/20
RAISED
surface/raised · surface/base + shadow
INVERSE
surface/inverse · graphite/90
DARK MODE
CANVAS
surface/canvas · #181A19
BASE
surface/base · #1E2020
INPUT
surface/input · #1E2020
MUTED
surface/muted · #1A1C1B
BORDER
surface/stroke · graphite/80
RAISED
surface/raised · surface/base + shadow
INVERSE
surface/inverse · #FFFFFF
SPACING TOKENS · 8pt grid
spacing/sm
4px
tight inline gaps
spacing/md
8px
default rhythm
spacing/lg
12px
control padding
spacing/xl
16px
card padding · mobile gutters
spacing/xxl
20px
section spacing
spacing/3xl
24px
desktop gutters
RADIUS TOKENS
radius/none
0px
no rounding
radius/sm
4px
small elements
radius/md
6px
cards, modals
radius/lg
8px
large cards
radius/xl
12px
panels
radius/full
9999px
pills, badges
LAYOUT · 4px grid & 12-col system

Base unit · 4px

Every spacing, sizing, and offset value snaps to a multiple of 4px. The spacing scale above (sm 4 · md 8 · lg 12 · xl 16 · xxl 20 · 3xl 24) is just the most-used steps on that grid. When something doesn't fit a token, pick the next 4px multiple — never invent a 5px, 7px, or 14px gap.

0163248648096

12-column grid

Page bodies are laid out on a 12-column grid with 24px gutters. Every layout choice — full-width hero, two-column form, sidebar + main — picks an integer span. The most-used patterns are 8+4 (content + meta), 9+3 (content + side rail), 6+6 (split), and 12 (full-bleed).

01
02
03
04
05
06
07
08
09
10
11
12
span 8 · content
span 4 · meta
span 9 · main
span 3 · rail
span 6 · left
span 6 · right

Gutter behavior

Inter-column gutters are fixed at 24px on desktop and tablet, 16px on mobile. Outer page padding scales with viewport width. Never set a gutter at any other value — if columns feel too close, change the span ratio, don't loosen the gutter.

Mobile
16px
Tablet
24px
Desktop
24px

Container widths

Page content sits inside a centered container that maxes out at the breakpoint below. Above the largest breakpoint, the container stops growing and gutters absorb the extra space. App shells (left nav + main) take the full viewport; documentation pages cap at lg (1280).

xs ≥ 0
mobile · fluid 100%
sm ≥ 768
tablet portrait
md ≥ 1024
tablet landscape
lg ≥ 1280
desktop · default
xl ≥ 1480
app shell · full